package com.lmb.todo.service;

import com.lmb.todo.pojo.Group;

import java.util.List;

/**
 * @author lmb
 */
public interface GroupService {

    /**
     * 根据 userId 获取所有的分组
     * @param userId Integer
     * @return List<Group>
     */
    List<Group> getAllByUserId(Integer userId);

    /**
     * 更改用户信息
     * @param group Group
     * @return Integer
     */
    Integer update(Group group);

    /**
     * 根据用户id删除用户数据
     * @param id Integer
     * @return Integer
     */
    Integer delete(Integer id);

    /**
     * 移动分组
     * @param folderId Integer id Integer
     * @return Integer
     * */
    Integer move(Integer folderId,Integer id) throws Exception;

    /**
     * 新增分组
     * @param  group Group
     * @return Integer
     * */
    Integer add(Group group);

    /**
     * 根据 groupId 删除 todo
     * @param groupId Integer
     * @return Integer
     * */
    Integer deleteTodo(Integer groupId);

    /**
     * 新建计划 count增加
     * @param count Integer
     * @return Integer
     * */
    Integer count(Integer id, Integer count, String type);

    /**
     * 根据模糊查询返回t_todo的groupId查询分组
     * @param userId Integer
     * @return List<Integer>
     * */
    List<Integer> getGroupIdsByUserId(Integer userId);
}
